﻿using System.Collections.Generic;
using System.Runtime.Serialization;


public interface IGroup
{
    double lon { get; set; }
    JoinInfo join_info { get; set; }
    string visibility { get; set; }
    string link { get; set; }
    Organizer organizer { get; set; }
    string join_mode { get; set; }
    string who { get; set; }
    int id { get; set; }
    Photo group_photo { get; set; }
    long created { get; set; }
    string description { get; set; }
    string name { get; set; }
    double rating { get; set; }
    string urlname { get; set; }
    double lat { get; set; }
    int members { get; set; }
    GroupSelf self { get; set; }
}

[DataContract]
public partial class Groups
{
    [DataMember(Name="results")]
    public List<Group> Items { get; set; }
    [DataMember]
    public object meta { get; set; }
}


[KnownType(typeof(Group))]
public partial class Group : IGroup
{
    public double lon { get; set; }
    public JoinInfo join_info { get; set; }
    public string visibility { get; set; }
    public string link { get; set; }
    public Organizer organizer { get; set; }
    public string join_mode { get; set; }
    public string who { get; set; }
    public int id { get; set; }
    public Photo group_photo { get; set; }
    public long created { get; set; }
    public string description { get; set; }
    public string name { get; set; }
    public double rating { get; set; }
    public string urlname { get; set; }
    public double lat { get; set; }
    public int members { get; set; }
    public GroupSelf self { get; set; }

    
}


public class GroupSelf
{
    //public List<object> actions { get; set; }
}

public class JoinInfo
{
    public string photo_req { get; set; }
    public string questions_req { get; set; }
    public string intro_req { get; set; }
}

public class Organizer
{
    public string name { get; set; }
    public int member_id { get; set; }
}


